#include<bits/stdc++.h>
using namespace std;
struct data{
	int num,pos;
};
data a[8005],b[8005];
void func(data arr[],int n){
	for (int i = 1; i <= n; i++)
 		for (int j = i; j>=2; j--)
 			if ( arr[j].num < arr[j-1].num ){
				swap(arr[j],arr[j-1]);
				a[arr[j].pos].pos=j;
				a[arr[j-1].pos].pos=j-1;
			}
}
int main(){
	ifstream fin("sort.in");
	ofstream fout("sort.out");
	int n,q,t,x,v;
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		fin>>a[i].num;
		a[i].pos=i;
		b[i]=a[i];
	}
	func(b,n);
	for(int i=1;i<=q;i++){
		fin>>t;
		if(t==1){
			fin>>x>>v;
			a[x].num=v;
			if(v<b[a[x].pos].num){
				b[a[x].pos].num=v;
				for (int j = a[x].pos; j>=2; j--)
 					if ( b[j].num < b[j-1].num ){
						swap(b[j],b[j-1]);
						a[b[j].pos].pos=j;
						a[b[j-1].pos].pos=j-1;
					}
			}
			else{
				b[a[x].pos].num=v;
				for (int j = a[x].pos; j<=n-1; j++)
 					if ( b[j].num > b[j+1].num ){
						swap(b[j],b[j-1]);
						a[b[j].pos].pos=j;
						a[b[j-1].pos].pos=j-1;
					}
			}
		}
		else{
			fin>>x;
			fout<<a[x].pos<<endl;
		}
	}
	return 0;
}
